package com.xhj.mybatis.scripting.xmltags;

/**
 * StaticTextSqlNode
 *
 * @author XJks
 * @description StaticTextSqlNode 类实现了 SqlNode 接口，用于表示静态 SQL 片段。
 */
public class StaticTextSqlNode implements SqlNode {

    /**
     * 用于保存静态 SQL 文本内容。
     */
    private final String text;

    /**
     * 构造方法，接收一个 SQL 文本字符串并赋值给成员变量 text。
     *
     * @param text 静态 SQL 片段内容
     */
    public StaticTextSqlNode(String text) {
        this.text = text;
    }

    /**
     * 实现 SqlNode 接口的 apply 方法。
     * 该方法会将静态 SQL 文本追加到 DynamicContext 上下文中。
     *
     * @param context 动态 SQL 上下文对象
     * @return 总是返回 true，表示该节点已被处理
     */
    @Override
    public boolean apply(DynamicContext context) {
        // 将静态 SQL 文本追加到上下文中
        context.appendSql(text);
        // 返回 true，表示处理成功
        return true;
    }

}
